package com.ht.module.bus.entity;

import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;


/**
 * <p>
 * 
 * </p>
 *
 * @author hejialun
 * @since 2024-07-29
 */

@TableName("t_student")
@Data
@Accessors(chain = true)
public class TStudent {

    @ApiModelProperty("学生编码")
    @TableId
    private String studentCode;

    @ApiModelProperty("班级编码")
    @NotEmpty
    private String classCode;

    @ApiModelProperty("站点编码")
    @NotEmpty
    private String stationCode;

    @ApiModelProperty("学生姓名")
    @NotEmpty
    private String studentFulllName;

    @ApiModelProperty("学生身份证号")
    @NotEmpty
    private String identityCardNumber;


    @ApiModelProperty("1住校，2走读：关联字典:boarding_arrangement")
    private String studentBoardingArrangement;


    @ApiModelProperty("部门id")
    private String deptId;

    @ApiModelProperty("uuid")
    private String createUser;
    private LocalDateTime createDate;
    private String updateUser;
    private LocalDateTime updateDate;


    @ApiModelProperty("逻辑删除")
    @TableLogic
    private Integer delFlag;

    @ApiModelProperty("01有效,02无效")
    private String state;

    @ApiModelProperty("学校名称")
    @TableField(exist = false)
    private String schoolName;

    @ApiModelProperty("教育阶段名称 关联字典：education_state_name")
    @TableField(exist = false)
    private String educationStateName;

    @ApiModelProperty("学校地址")
    @TableField(exist = false)
    private String address;

    @ApiModelProperty("学校区划")
    @TableField(exist = false)
    private String districtCode;

    @ApiModelProperty("班级名称")
    @TableField(exist = false)
    private String className;

    @ApiModelProperty("站点名称")
    @TableField(exist = false)
    private String stationName;

    @ApiModelProperty("站点区划")
    @TableField(exist = false)
    private String stationdistrictCode;

    @ApiModelProperty("创建人姓名")
    @TableField(exist = false)
    private String createUserName;

    @ApiModelProperty("班级所属教育阶段 关联字典：education_stage")
    @TableField(exist = false)
    private String educationStage;

}